home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / systems / atari / birkhahn-metafont-packed-disks / mf27-2_2e-disk2.zoo / inputs / dff.lzs / DFF.MF
Text File  |  1991-07-28  |  5KB  |  153 lines

  1. %
  2. %  Hier die Definition des Logos der DFF-L"anderkette.
  3. %  Version vom 27.7.'91 -- default h=2cm.
  4. %
  5. %  (C) 1991 .muftix.
  6. %      All rights reserved.
  7. %
  8. %  Motivation
  9. %  TeX ohne Metafont ist wie ein Auto ohne Ersatzreifen.
  10. %  Nat"urlich ist es nett, kleine Graphiken "uber TeX-Makros
  11. %  zu erzeugen, und mancheiner findet Spa"s daran, sich und sein TeX
  12. %  mit Bindfadenmethodik zu qu"alen.
  13. %     Hin und wieder ist es aber einfacher, nicht jede T"ure mit
  14. %  dem Brecheisen aufzumachen und TeX + Metafont so zu verwenden,
  15. %  wie beide vom Sch"opfer gedacht sind.
  16. %
  17. %  Diese Datei
  18. %  Was in der Regel ben"otigt wird ist nicht der neue, ultimative
  19. %  Zeichensatz, sondern ein Piktogramm, ein Firmensymbol oder eine
  20. %  Graphikskizze.
  21. %     Die vorliegenden Symbole wurden nicht erzeugt, weil ich sie
  22. %  dringend gebraucht h"atte, sondern als Beispiel, weil sie besonders
  23. %  einfach sind und damit genau richtig, um zu zeigen, wie so etwas mit
  24. %  relativ einfachen Mitteln angegangen werden kann ist. 
  25. %
  26. %  WICHTIG:
  27. %  Diese Datei darf nur unver"andert weitergegeben werden.
  28. %  Sie kann aber von privat jederzeit zur eigenen Nutzung umbenannt und
  29. %  unter Vermerk auf die Quelle angepasst werden.
  30. %     Gewerbliche Nutzung und Weitergabe ist ausdr"ucklich untersagt,
  31. %  sofern keine Zusage des Verfassers vorliegt.
  32. %
  33. %  Fehlermeldungen und Anfragen an
  34. %
  35. %   muftix@asbach.nbg.sub.org   oder
  36. %
  37. %   J"urgen~Ernst~G"unther\\Flurstr.~37\\W--8507~Oberasbach\\Germany
  38. %
  39. %
  40.  
  41. %%% Teil 1: INITIALISIERUNG, DEFINITIONEN UND PARAMETER    %%%%%%%%%%%%%%%
  42.  
  43. % Zun"achst mu"s Metafont initialisiert und auf die aktuelle
  44. % Druckeraufl"osung eingestellt werden:
  45.  
  46. mode_setup;
  47.  
  48.  
  49. % Da diese Datei sowohl als `standalone' als auch von einer
  50. % Parameterdatei aufgerufen werden soll, bekommen alle
  51. % Parameter Voreinstellungen
  52.  
  53. def default(suffix v)(text q) = if unknown v: v:=q fi enddef;
  54.  
  55.  
  56. % 1) Als `Slant' wird dies Symbol eher nicht ben"otigt,
  57. %    aber man wei"s ja nie! 
  58.  
  59. default( slant, 0 else: 
  60.   currenttransform:=identity slanted slant transformed currenttransform);
  61.  
  62.  
  63. default(ht#,  2cm#);    % 2) Die H"ohe (hier auch Breite) des Zeichens
  64. default(s#,   0cm#);    % 3) Sperrung f"ur seitlichen Abstand
  65. default(px#,  1pt#);    % 4) Stiftbreite (f"ur `draw')
  66. default(py#, .9px#);    % 5) Stifth"ohe (aus optischen Gr"unden sollte
  67.                         %     der Stift leicht abgeflacht sein)
  68.  
  69.  
  70. % Alle bei der Definition evtl. ben"otigten Werte "uber den Rahmen
  71. % hinaus m"ussen an die absolute Aufl"osung (bei Zeichenstiften auch
  72. % die Schw"arzung des `Zeichenstiftes').
  73. % Hier sind das nur die Werte des Zeichenstiftes
  74.  
  75. define_blacker_pixels(px,py);
  76.  
  77.  
  78. % Zeichenstift(e) zurechtlegen
  79.  
  80. pickup pencircle xscaled px yscaled py;
  81. DFF_pen=savepen;
  82.  
  83.  
  84.  
  85. %%% Teil 2: ERZEUGUNG DER ZEICHEN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  86.  
  87. "DFF Laenderkette...";               % Alleinstehende Zeichenketten
  88.                                      % werden im proof-mode ausgegeben.
  89.  
  90. beginchar("A", ht#+s#, ht#, 0);      % Zeichen an die Stelle "A" (oder 65)
  91.                                      % Breite ht#+s#, H"ohe ht#,
  92.                                      % Unterl"ange 0
  93.  
  94. save    Durchmesser;
  95. numeric Durchmesser[];               % Deklaration zus"atzlicher Variablen
  96.  
  97. x1 = good.x .5w;                     % Erster Punkt z1 in die Mitte
  98. y1 = good.y .5h;
  99.  
  100. Durchmesser1 = min(w,h);             % Der Kreis soll die Grenzen des
  101.                                      % umgebenden Rechtecks nicht verlassen
  102.  
  103. Durchmesser2 = .9Durchmesser1;       % Hilfskreis f"urs Innendreieck
  104.  
  105.  
  106. % Gef"ullter Kreis mit Mittelpunkt z1:
  107.  
  108. fill fullcircle scaled Durchmesser1 shifted z1;
  109.  
  110.  
  111. % Was wissen wir "uber das innenliegende Dreieck?
  112.  
  113. x1 = x2 = x3;     x4 = x1 + .5Durchmesser2;
  114. y1 = y4;    y2-y1 = y1-y3 = .5Durchmesser2;
  115.  
  116.  
  117. % Dreieck `ausstanzen'
  118.  
  119. unfill z2--z3--z4--cycle;
  120.  
  121. endchar; % fertig!
  122.  
  123.  
  124.  
  125.  
  126. % jetzt die zweite Form `invers' ohne l"astiges dazwischenkommentieren:
  127.  
  128. "DFF Laenderkette... invers";
  129. beginchar("B", ht#+s#, ht#, 0);
  130.  
  131. save Durchmesser; numeric Durchmesser[];
  132.  
  133. x1 = good.x .5w;
  134. y1 = good.y .5h;
  135.  
  136. Durchmesser1 = min(w,h);
  137. Durchmesser2 = .9Durchmesser1;
  138.  
  139. pickup DFF_pen;
  140. draw fullcircle scaled Durchmesser1 shifted z1;
  141.  
  142. x1 = x2 = x3;     x4 = x1 + .5Durchmesser2;
  143. y1 = y4;    y2-y1 = y1-y3 = .5Durchmesser2;
  144.  
  145. fill z2--z3--z4--cycle;
  146.  
  147. endchar;
  148.  
  149. % Als n"achstes steht einem eingehenden Studium von logo.mf
  150. % nichts mehr im Wege..
  151.  
  152. end.
  153.